27f3549db8aa352b65853aff7ab44aa296d74f38,grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/metaclass/AbstractFindByPersistentMethod.java,AbstractFindByPersistentMethod,buildCriteria,#Session#DetachedCriteria#Closure#Class#Object[]#String#List#,56

Before Change


                Map<?, ?> argMap = (Map<?, ?>)arguments[0];
                GrailsHibernateUtil.populateArgumentsForCriteria(application, clazz, crit, argMap);
                if (!argMap.containsKey(GrailsHibernateUtil.ARGUMENT_FETCH)) {
                    crit.setMaxResults(1);
                }
            }
            else {
                crit.setMaxResults(1);
            }
        }
        else {
            crit.setMaxResults(1);
        }

        if (operator.equals(OPERATOR_OR)) {

After Change


    protected Criteria buildCriteria(Session session, DetachedCriteria detachedCriteria, Closure additionalCriteria, Class clazz, Object[] arguments, String operator, List expressions) {
        Criteria crit = getCriteria(datastore, application, session, detachedCriteria, additionalCriteria, clazz);

        boolean useLimit = establishWhetherToUseLimit(clazz);

        if (arguments.length > 0) {
            if (arguments[0] instanceof Map<?, ?>) {
                Map<?, ?> argMap = (Map<?, ?>)arguments[0];
                GrailsHibernateUtil.populateArgumentsForCriteria(application, clazz, crit, argMap);
                if (!argMap.containsKey(GrailsHibernateUtil.ARGUMENT_FETCH)) {
                    if(useLimit)
                        crit.setMaxResults(1);
                }
            }
            else {
                if(useLimit)
                    crit.setMaxResults(1);
            }
        }
        else {
            if(useLimit)
                crit.setMaxResults(1);
        }

        if (operator.equals(OPERATOR_OR)) {